function exposeTestFunctionNames() {
    return ['testNewRecInit', 'testNewRec', 'testPutGet', 'testLen'];
    }

var rec;
    
function setUp() {
	rec = new Record();
}
    
function tearDown() {
	debug( rec.len() );
	debug( rec.toString() );
}

function testNewRec() {
	assertNotUndefined('failed NotUndefined', rec);
	assertEquals( 'a/= REC len', 0, rec.len() );
}

function testNewRecInit() {
	var z = {'z': 'zoo'};
	zRec = new Record(z);
	assertNotUndefined( 'failed NotUndefined', zRec );
	assertEquals( 'a/= zREC len is 1', 1, zRec.len() );
	assertEquals( 'a/= zREC toSource' + z.toSource(), z.toSource(), zRec.recObj.toSource() );
}

function testPutGet() {
	rec.putItem( '1', 'number one' );
	assertEquals( 'record get 1=number one', 'number one', rec.getItem('1') );
	assertNotEquals( 'record get 1=number one', 'number one', rec.getItem('3') );
}

function testLen() {
	rec.putItem( 'a', 'Apple' );
	rec.putItem( 'b', 'Banana' );
	rec.putItem( 'c', 'Cherry' );
	assertEquals( 'record length', 3, rec.len() );
}